﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Max.PH5_2103A.Shopping.IRepository
{
    /*
     * 基本的仓储接口
     * 表示每一个实体表都有CRUD操作（一条数据和多条数据的操作）
     * C：Create
     * R：Read
     * U：Update
     * D：Delete
     * 
     * T：泛型-泛指一切数据类型。（谁用谁传）
     * 
     * **/
    public interface IBaseRepository<TModel>
    {
        void Insert(TModel entity); //添加一条数据
        void Insert(List<TModel> list); //批量添加数据
        void Update(TModel entity); //修改一条数据
        void Update(List<TModel> list); //批量修改数据
        void Delete(TModel entity); //删除一条数据
        void Delete(List<TModel> list); //批量删除数据

        IQueryable<TModel> GetAll(); //获取所有数据
        TModel GetFirstById(object id); //根据ID获取一条数据
    }
}
